package situ.autoweter.entity;

import com.alibaba.fastjson.JSONObject;
import java.util.*;
import java.time.*;
/**
 * IV_Invoice实体类
 * 
 * @author 
 *
 */
public class IvInvoice {
	/***/
	private String InvoiceNo; 
	/***/
	private Integer InvoiceType; 
	/***/
	private Integer EmpID; 
	/***/
	private Integer InID; 
	/***/
	private Integer OutID; 
	/***/
	private Integer ArchiveID; 
	/***/
	private Integer Used; 
	/***/
	private java.time.Instant UseDate; 
	/***/
	private Integer Invalid; 
	/***/
	private java.time.Instant InvalidDate; 
	/***/
	private Integer Archived; 
	/***/
	private java.time.Instant ArchiveDate; 
	/**
	 * 实例化
	 */
	public IvInvoice() {
		super();
	}
	/**
	 * 实例化
	 * 
	 * @param obj
	 */
	public IvInvoice(JSONObject obj) {
		this();
		if (obj.get("InvoiceNo") instanceof String) {
			this.setInvoiceNo((String) obj.get("InvoiceNo"));
		}
		if (obj.get("InvoiceType") instanceof Number) {
			this.setInvoiceType(((Number) obj.get("InvoiceType")).intValue());
		}
		if (obj.get("EmpID") instanceof Number) {
			this.setEmpID(((Number) obj.get("EmpID")).intValue());
		}
		if (obj.get("InID") instanceof Number) {
			this.setInID(((Number) obj.get("InID")).intValue());
		}
		if (obj.get("OutID") instanceof Number) {
			this.setOutID(((Number) obj.get("OutID")).intValue());
		}
		if (obj.get("ArchiveID") instanceof Number) {
			this.setArchiveID(((Number) obj.get("ArchiveID")).intValue());
		}
		if (obj.get("Used") instanceof Number) {
			this.setUsed(((Number) obj.get("Used")).intValue());
		}
		if (obj.get("UseDate") instanceof java.time.Instant) {
			this.setUseDate((java.time.Instant) obj.get("UseDate"));
		}
		if (obj.get("Invalid") instanceof Number) {
			this.setInvalid(((Number) obj.get("Invalid")).intValue());
		}
		if (obj.get("InvalidDate") instanceof java.time.Instant) {
			this.setInvalidDate((java.time.Instant) obj.get("InvalidDate"));
		}
		if (obj.get("Archived") instanceof Number) {
			this.setArchived(((Number) obj.get("Archived")).intValue());
		}
		if (obj.get("ArchiveDate") instanceof java.time.Instant) {
			this.setArchiveDate((java.time.Instant) obj.get("ArchiveDate"));
		}
	}
	
	/**
	 * 将当前对象转换为JsonObject
	 * 
	 * @return
	 */
	public JSONObject toJson() {
		JSONObject result = new JSONObject();
		if (this.getInvoiceNo() != null) {
			result.put("InvoiceNo",this.getInvoiceNo());
		}
		if (this.getInvoiceType() != null) {
			result.put("InvoiceType",this.getInvoiceType());
		}
		if (this.getEmpID() != null) {
			result.put("EmpID",this.getEmpID());
		}
		if (this.getInID() != null) {
			result.put("InID",this.getInID());
		}
		if (this.getOutID() != null) {
			result.put("OutID",this.getOutID());
		}
		if (this.getArchiveID() != null) {
			result.put("ArchiveID",this.getArchiveID());
		}
		if (this.getUsed() != null) {
			result.put("Used",this.getUsed());
		}
		if (this.getUseDate() != null) {
			result.put("UseDate",this.getUseDate());
		}
		if (this.getInvalid() != null) {
			result.put("Invalid",this.getInvalid());
		}
		if (this.getInvalidDate() != null) {
			result.put("InvalidDate",this.getInvalidDate());
		}
		if (this.getArchived() != null) {
			result.put("Archived",this.getArchived());
		}
		if (this.getArchiveDate() != null) {
			result.put("ArchiveDate",this.getArchiveDate());
		}
		return result;
	}
	
	
	/**
	 * 获取InvoiceNo
	 * 
	 * @return
	 */
	public String getInvoiceNo() {
		return InvoiceNo;
	}

	/**
	 * 设置InvoiceNo
	 * 
	 * @param InvoiceNo
	 */
	public void setInvoiceNo(String InvoiceNo) {
		this.InvoiceNo = InvoiceNo;
	}
	
	/**
	 * 获取InvoiceType
	 * 
	 * @return
	 */
	public Integer getInvoiceType() {
		return InvoiceType;
	}

	/**
	 * 设置InvoiceType
	 * 
	 * @param InvoiceType
	 */
	public void setInvoiceType(Integer InvoiceType) {
		this.InvoiceType = InvoiceType;
	}
	
	/**
	 * 获取EmpID
	 * 
	 * @return
	 */
	public Integer getEmpID() {
		return EmpID;
	}

	/**
	 * 设置EmpID
	 * 
	 * @param EmpID
	 */
	public void setEmpID(Integer EmpID) {
		this.EmpID = EmpID;
	}
	
	/**
	 * 获取InID
	 * 
	 * @return
	 */
	public Integer getInID() {
		return InID;
	}

	/**
	 * 设置InID
	 * 
	 * @param InID
	 */
	public void setInID(Integer InID) {
		this.InID = InID;
	}
	
	/**
	 * 获取OutID
	 * 
	 * @return
	 */
	public Integer getOutID() {
		return OutID;
	}

	/**
	 * 设置OutID
	 * 
	 * @param OutID
	 */
	public void setOutID(Integer OutID) {
		this.OutID = OutID;
	}
	
	/**
	 * 获取ArchiveID
	 * 
	 * @return
	 */
	public Integer getArchiveID() {
		return ArchiveID;
	}

	/**
	 * 设置ArchiveID
	 * 
	 * @param ArchiveID
	 */
	public void setArchiveID(Integer ArchiveID) {
		this.ArchiveID = ArchiveID;
	}
	
	/**
	 * 获取Used
	 * 
	 * @return
	 */
	public Integer getUsed() {
		return Used;
	}

	/**
	 * 设置Used
	 * 
	 * @param Used
	 */
	public void setUsed(Integer Used) {
		this.Used = Used;
	}
	
	/**
	 * 获取UseDate
	 * 
	 * @return
	 */
	public java.time.Instant getUseDate() {
		return UseDate;
	}

	/**
	 * 设置UseDate
	 * 
	 * @param UseDate
	 */
	public void setUseDate(java.time.Instant UseDate) {
		this.UseDate = UseDate;
	}
	
	/**
	 * 获取Invalid
	 * 
	 * @return
	 */
	public Integer getInvalid() {
		return Invalid;
	}

	/**
	 * 设置Invalid
	 * 
	 * @param Invalid
	 */
	public void setInvalid(Integer Invalid) {
		this.Invalid = Invalid;
	}
	
	/**
	 * 获取InvalidDate
	 * 
	 * @return
	 */
	public java.time.Instant getInvalidDate() {
		return InvalidDate;
	}

	/**
	 * 设置InvalidDate
	 * 
	 * @param InvalidDate
	 */
	public void setInvalidDate(java.time.Instant InvalidDate) {
		this.InvalidDate = InvalidDate;
	}
	
	/**
	 * 获取Archived
	 * 
	 * @return
	 */
	public Integer getArchived() {
		return Archived;
	}

	/**
	 * 设置Archived
	 * 
	 * @param Archived
	 */
	public void setArchived(Integer Archived) {
		this.Archived = Archived;
	}
	
	/**
	 * 获取ArchiveDate
	 * 
	 * @return
	 */
	public java.time.Instant getArchiveDate() {
		return ArchiveDate;
	}

	/**
	 * 设置ArchiveDate
	 * 
	 * @param ArchiveDate
	 */
	public void setArchiveDate(java.time.Instant ArchiveDate) {
		this.ArchiveDate = ArchiveDate;
	}

	@Override
	public String toString() {
		return "IvInvoice [InvoiceNo=" + InvoiceNo + " , InvoiceType=" + InvoiceType + " , EmpID=" + EmpID + " , InID=" + InID + " , OutID=" + OutID + " , ArchiveID=" + ArchiveID + " , Used=" + Used + " , UseDate=" + UseDate + " , Invalid=" + Invalid + " , InvalidDate=" + InvalidDate + " , Archived=" + Archived + " , ArchiveDate=" + ArchiveDate + "  ]";
	
	}
	
	
}
